home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / vtkermit.arc / MSDEFS.H < prev    next >
Text File  |  1986-02-13  |  10KB  |  299 lines

  1. ; Update 2 Feb 86
  2.  
  3. Program_name MACRO
  4.     DB 'VTKermit'
  5.     ENDM
  6.  
  7. VerDef    MACRO
  8.     DB ' '
  9.     Program_name
  10.     DB ' 1.0'
  11.     ENDM
  12.  
  13. RB_Flag = 1            ; Turn on or off Rainbow support
  14.                 ;  1 = ON, 0 = OFF
  15.  
  16. Help_window_left=12        ; Leftmost column of help window
  17. Help_window_top=5        ; Topmost row of help window
  18.  
  19. ; ASCII chars we use ...
  20.  
  21. SOH     EQU     1        ; SOH -- Start of header (Control A)
  22. EOT    EQU    4        ; EOT -- End of transmission (Control-D)
  23. ACK    EQU    6        ; ACK -- Positive acknowledge (Control F)
  24. Bell    EQU     7        ; BEL -- Beep tone (Control G)
  25. Bs    EQU    8        ; BS -- Backspace (Control H)
  26. Tab     EQU     11q        ; HT -- Horizontal tab (Control I)
  27. Lf      EQU     12q        ; LF -- Line feed (Control J)
  28. Vt    EQU    13q        ; VT -- Vertical tab (Control K)
  29. Ff      EQU     14q        ; FF -- Form feed (Control L)
  30. Cr      EQU     15q        ; CR -- Carriage return (Control M)
  31. ShO    EQU    16q        ; SI -- Shift out (Control N)
  32. ShI    EQU    17q        ; SO -- Shift in (Control O)
  33. Xon     EQU     21q        ; DC1 -- Transmit on (Control Q)
  34. Xoff    EQU     23q        ; DC3 -- Transmit off (Control S)
  35. ASCII_NAK EQU    25q        ; NAK -- Negative acknowledge (Control U)
  36. CtlZ    EQU    32q        ; Control Z
  37. Esc     EQU     33q        ; Escape
  38. Space    EQU    40q        ; A blank
  39. Del     EQU     177q        ; Delete
  40.  
  41. DOS     EQU     21H
  42.  
  43. CONIN   EQU     01H
  44. CONOUT  EQU     02H
  45. RDRIN   EQU     03H
  46. PUNOUT  EQU     04H
  47. LSTOUT  EQU     05H
  48. DCONIO  EQU     06H
  49. CONINQ    EQU    07H        ; quiet console input
  50. PRSTR   EQU     09H
  51. CONSTAT EQU     0BH
  52. SELDSK    EQU    0EH        ; Select disk.  [21a]
  53. OPENF   EQU     0FH
  54. CLOSF   EQU     10H
  55. SFIRST  EQU    11H
  56. SNEXT    EQU    12H
  57. DELF    EQU     13H
  58. READF   EQU     14H             ; Read from the file.
  59. WRITEF  EQU     15H
  60. MAKEF   EQU     16H
  61. GCURDSK    EQU    19H        ; Current disk.  [21a]
  62. SETDMA    EQU    1AH
  63. PRSFCB    EQU    29H        ; parse an fcb.
  64. DOSVER    EQU    30H        ; dos version #
  65. CHDIR    EQU    3BH        ; 2.0 change directory
  66. CREATE2    EQU    3CH        ; 2.0 create
  67. OPEN2    EQU    3DH        ; 2.0 open
  68. CLOSE2    EQU    3EH        ; 2.0 close
  69. READF2    EQU    3FH        ; 2.0 read.
  70. WRITEF2    EQU    40H        ; 2.0 write
  71. LSEEK    EQU    42H        ; 2.0 lseek
  72. IOCTL    EQU    44H
  73. GCD    EQU    47H        ; 2.0 get current directory.
  74.  
  75. PAREVN    EQU    00H        ; Even parity.            [10 start]
  76. PARMRK    EQU    01H        ; Mark parity.
  77. PARNON    EQU    02H        ; No parity.    
  78. PARODD    EQU    03H        ; Odd parity.
  79. PARSPC    EQU    04H        ; Space parity.
  80.  
  81. CMKEY   EQU     01H             ; Parse a keyword.
  82. CMIFI   EQU     02H             ; Parse an input file spec (can be wild).
  83. CMOFI   EQU     03H             ; Parse an output file spec.
  84. CMCFM   EQU     04H             ; Parse a confirm.
  85. CMTXT    EQU    05H        ; Parse arbitrary text up to CR.   [8]
  86.  
  87. FLOXON    EQU    1113H        ; Use XON/XOFF for flow control.
  88. FLONON    EQU    0        ; Don't do flow control.
  89. DEFHAND    EQU    XON        ; Use XON as default handshake.
  90.  
  91. Cmdlen    EQU    80H        ; Size of command buffer
  92. DMASIZ    EQU    80H        ; Size of DMA.
  93. FCBSIZ    EQU    25H
  94.  
  95. MAXTAK    EQU    10        ; Max number of TAKE's allowed. [25t]
  96. MAXTRY  EQU    10        ; Default number of retries on a packet.
  97. IMXTRY  EQU    20        ; Default number of retries send initiate.
  98.  
  99. DEFESC  EQU     ']'-100q        ; The default escape character.
  100. DRPSIZ  EQU     5EH             ; Default receive packet size.
  101. DSPSIZ  EQU     50H             ; Default send packet size.
  102. DSTIME  EQU     10              ; Default send time out interval.
  103. DRTIME  EQU     10              ; Default receive time out interval.
  104. DSRVTM    EQU    20        ; Default server timeout.
  105. DSPAD   EQU     00H             ; Default send padding.
  106. DRPAD   EQU     00H             ; Default receive padding.
  107. DSPADC  EQU     00H             ; Default send padding char.
  108. DRPADC  EQU     00H             ; Default receive padding char.
  109. DSEOL   EQU     CR              ; Default send EOL char.
  110. DREOL   EQU     CR              ; Default receive EOL char.
  111. DSSOH    EQU    SOH        ; Default send start-of-packet char.
  112. DRSOH    EQU    SOH        ; Default receive start-of-packet char.
  113. DSQUOT  EQU     '#'             ; Default send quote char.
  114. DRQUOT  EQU     '#'             ; Default receive quote char.
  115. DQBIN    EQU    '&'        ; Default 8-bit prefix. [21b]
  116. DRPT    EQU    '~'        ; Default repeat prefix.
  117. DCHKLEN    EQU    1        ; Default checksum length.
  118. DEFPAR    EQU    PARNON        ; Default parity (none.) 
  119. IBMPAR  EQU    PARMRK        ; IBM's parity (mark.)        [10 end]
  120.  
  121.  
  122. bufsiz    EQU    2048        ; size of serial input buffer
  123.  
  124. ; baud rate definitions
  125. B00455    EQU    0        ; 45.5 baud
  126. B0050    EQU    1        ; 50 baud
  127. B0075    EQU    2        ; 75 baud
  128. B0110    EQU    3        ; 110 baud
  129. B01345    EQU    4        ; 134.5 baud
  130. B0150    EQU    5        ; 150 baud
  131. B0300    EQU    6        ; 300 baud
  132. B0600    EQU    7        ; 600 baud
  133. B1200    EQU    8        ; 1200 baud
  134. B1800    EQU    9        ; 1800 baud
  135. B2000    EQU    10        ; 2000 baud
  136. B2400    EQU    11        ; 2400 baud
  137. B4800    EQU    12        ; 4800 baud
  138. B9600    EQU    13        ; 9600 baud
  139. B19200    EQU    14        ; 19200 baud
  140. B38400    EQU    15        ; 38400 baud 
  141. B23040    EQU    16        ; 23040 baud 
  142.  
  143. BAUDSIZ    EQU    17        ; Number of options for baud rate.
  144.  
  145. ; Structure definitions.
  146.  
  147. ; Modem information.
  148. mdminfo    struc
  149. mddat    dw    0        ; Default to port 1. [19b start]
  150. mdstat    dw    0        ; Ditto. 
  151. mdcom    dw    0        ; Here too. 
  152. mden    db    0
  153. mddis    db    0
  154. mdmeoi    db    0
  155. mdintv    dw    0        ; [19b end]
  156. mdminfo    ends
  157.  
  158. ; Command information.
  159. cmdinfo    struc    
  160. cmstat  db      0               ; What is presently being parsed.
  161. cmaflg  db      0               ; Non-zero when an action char has been found.
  162. cmccnt  db      0               ; Non-zero if a significant char is found.
  163. cmsflg  db      0               ; Non-zero when the last char was a space.
  164. cmostp  dw      0               ; Old stack pointer for reparse.
  165. cmrprs  dw      0               ; Address to go to on reparse.
  166. cmprmp  dw      0               ; Address of prompt.
  167. cmptab  dw      0               ; Address of present keyword table.
  168. cmhlp   dw      0               ; Address of present help.
  169. cmdbuf  db      Cmdlen DUP(0)   ; Buffer for command parsing.
  170. cmfcb   dw      0               ; Pointer to FCB.
  171. cmfcb2  dw      0               ; Pointer to position in FCB.
  172. cmcptr  dw      0               ; Pointer for next char input.
  173. cmdptr  dw      0               ; Pointer into the command buffer.
  174. cmsiz    dw    0        ; Size info of user input.
  175. cmkptr  dw      0               ; Pointer to keyword.
  176. cmsptr  dw      0               ; Place to save a pointer.
  177. cmchr    db    0        ; Save char when checking ambiguity.
  178. cmrflg    db    0        ; Assume parsing filename for send. [21a]
  179. cmcr    db    0        ; Say whether bare CR is allowed.
  180. cmdinfo    ends
  181.  
  182. ; Flags information.
  183. flginfo    struc
  184. belflg    db    1        ; Use bell  [17a -- DT]
  185. comflg    db    1        ; Use COM1 by default. [19b]
  186. abfflg    db    1        ; Discard incoming file if abort. [20d]
  187. debug    db    0        ; Debugging mode (default off).
  188. flwflg  db      1               ; File warning flag (default on). [19c]
  189. ibmflg  db      0               ; IBM flag (default off).
  190. extflg  db      0               ; Exit flag (default off).
  191. vtflg    db    1        ; H-19 emulation.
  192. droflg    db    0        ; Override default disk drive. [21a]
  193. nmoflg    db    0        ; Override name from the F packet. [21a]
  194. wldflg    db    0        ; Assume no "*" in fn.         [7]
  195. cxzflg    db    0        ; ^X/^Z to interrupt file x-fer. [20b] 
  196. xflg    db    0        ; Seen "X" packet. [21c]
  197. filflg  db      0               ; Non-zero when nothing in DMA buffer.
  198. eoflag  db      0               ; EOF flag; non-zero on EOF.
  199. getflg    db    0        ; Assume normal RECEIVE (not GET). [21a]
  200. capflg    db    0        ; On if capturing data. [25]
  201. takflg    db    0        ; On if echo commands of TAKE file.
  202. timflg    db    1        ; Say if are timing out or not.
  203. destflg    db    1        ; Incoming files destination: disk or printer.
  204. eofcz    db    0        ; ^Z signals eof if non-zero.
  205. remflg    db    0        ; non-zero if in remote mode for this XFER
  206. Real_remflg db    0        ; non-zero if REALLY in remote mode.
  207. flginfo    ends
  208.  
  209. ; Transmission parameters
  210. trinfo    struc
  211. maxdat    db    80        ; Max packet size for send.
  212. chklen    db    1        ; Number of characters in checksum.
  213. seol    db    dseol        ; Send EOL char.
  214. reol    db    dreol        ; Receive EOL char.
  215. ssoh    db    dssoh        ; Send start-of-packet character.
  216. rsoh    db    drsoh        ; Receive start-of-packet character.
  217. squote  db    dsquot        ; Send quote character.
  218. rquote    db    drquot        ; Receive quote character.
  219. spsiz    db    dspsiz        ; Send packet size.
  220. rpsiz    db    drpsiz        ; Receive packet size.
  221. stime    db    dstime        ; Send timeout. (Don't timeout).
  222. rtime    db    drtime        ; Receive timeout.
  223. spad    db    dspad        ; Send padding.
  224. rpad    db    drpad        ; Receive padding.
  225. spadch    db    dspadc        ; Send padding char.
  226. rpadch    db    drpadc        ; Receive padding char.
  227. ebquot    db    'Y'        ; Send 8-bit quote character.
  228. escchr    db    defesc        ; Escape character.
  229. scaps    db    0        ; Send Kermit capabilities
  230. rcaps    db    10q        ; Receive Kermit capabilities
  231. trinfo    ends
  232.  
  233. pktinfo    struc
  234. pktnum  dw      0               ; Packet number.
  235. numpkt  dw      0               ; Total number of packets sent.
  236. numrtr  dw      0               ; Total number of retries.
  237. argblk  dw      0               ; For subroutine arguments.
  238. argbk1  dw      0
  239. argbk2  dw      0
  240. argbk3  dw      0
  241. numtry  db      0               ; Number of tries on this packet.
  242. oldtry  db      0               ; Number of tries on previous packet.
  243. state   db      0               ; Present state of the automaton.
  244. pktinfo    ends
  245.  
  246. takinfo    struc
  247. takfcb    db    fcbsiz dup(0)
  248. takbuf    db    dmasiz dup(0)
  249. takptr    dw    0
  250. takchl    db    0
  251. takcnt    dw    0,0
  252. takinfo ends
  253.  
  254. ; Port Information.
  255. prtinfo    struc
  256. baud    dw    0        ; Default baud rate.
  257. flowc    dw    0        ; Do flow control with XON/XOFF.
  258. ecoflg  db      0               ; Local echo flag (default off).
  259. parflg  db    0        ; Parity flag (default none.)  [10]
  260. floflg    db    0        ; If need flow control during file x-fer.
  261. hndflg    db    0        ; If need handshake during file x-fer.
  262. hands    db    0        ; Default handshake.
  263. prtinfo    ends
  264.  
  265. mkeyw    macro    key,val
  266.     local    junk,oldval
  267. oldval    EQU    $
  268.     db    junk,key,'$'
  269. junk    EQU    $-oldval-2
  270.     dw    val
  271.     endm
  272.  
  273.  
  274. ; definitions for terminal handler:
  275.  
  276. termarg    struc
  277. flgs    db    ?        ; flags
  278. prt    db    ?        ; port to use (0,1)
  279. cols    db    ?        ; # columns on screen
  280. rows    db    ?        ; # rows on screen
  281. captr    dw    ?        ; routine to call with captured data
  282. belld    dw    ?        ; bell divisor
  283. klen    dw    ?        ; length of key redefinition table
  284. ktab    dw    ?        ; address of key redefinition table
  285. krpl    dw    ?        ; address of key replacement table
  286. escc    db    ?        ; escape character
  287. baudb    db    ?        ; baud rate bits.
  288. parity    db    ?        ; parity
  289. termarg    ends
  290.  
  291. ; bits for flag byte
  292. scrsam    EQU    80h            ; on if shouldn't redraw screen
  293. capt    EQU    40h            ; capture output
  294. emheath    EQU    20h            ; emulate heath
  295. havtt    EQU    10h            ; have translate table
  296. trnctl    EQU    08h            ; translate control chars
  297. modoff    EQU    04h            ; mode line off
  298. lclecho    EQU    01h            ; local echo
  299.